home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 2).iso / 1156 / setup.mst < prev    next >
Text File  |  1997-04-17  |  5KB  |  184 lines

  1. '**************************************************************************
  2. '*                       CaseLinr Setup
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME     = 100
  10. CONST ASKQUIT     = 200
  11. CONST DESTPATH    = 300
  12. CONST EXITFAILURE = 400
  13. CONST EXITQUIT    = 600
  14. CONST EXITSUCCESS = 700
  15. CONST APPHELP     = 900
  16. CONST BADPATH     = 6400
  17.  
  18. CONST SW_SHOW  = 5
  19. CONST IDYES    = 6
  20. CONST MB_YESNO = 4
  21. CONST MB_ICONINFORMATION = 64
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. GLOBAL DEST$        ''Default destination directory.
  27.  
  28. DECLARE SUB      WinExec LIB "kernel" (szCmdLine$, nCmdShow%)
  29. DECLARE SUB      Install
  30. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  31.  
  32.  
  33. INIT:
  34.    CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  35.    HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  36.  
  37.    SetBitmap CUIDLL$, LOGO
  38.    SetTitle "CaseLinr Setup"
  39.  
  40.    szInf$ = GetSymbolValue( "STF_SRCINFPATH" )
  41.    IF szInf$ = "" THEN
  42.       szInf$ = GetSymbolValue( "STF_CWDDIR" ) + "SETUP.INF"
  43.    END IF
  44.    ReadInfFile szInf$
  45.  
  46.    DEST$ = MID$( GetWindowsDir, 1, 1 ) + ":\CASELINR"
  47.  
  48. WELCOME:
  49.    sz$ = UIStartDlg( CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$ )
  50.    IF sz$ = "CONTINUE" THEN
  51.       UIPop 1
  52.    ELSE
  53.       GOSUB ASKQUIT
  54.       GOTO WELCOME
  55.    END IF
  56.  
  57. GETPATH:
  58.    SetSymbolValue "EditTextIn", DEST$
  59. GETPATHL1:
  60.    sz$ = UIStartDlg( CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$ )
  61.    DEST$ = GetSymbolValue( "EditTextOut" )
  62.  
  63.    IF sz$ = "CONTINUE" THEN
  64.       IF IsDirWritable( DEST$ ) = 0 THEN
  65.          GOSUB BADPATH
  66.          GOTO GETPATHL1
  67.       END IF
  68.       UIPop 1
  69.    ELSE
  70.       GOSUB ASKQUIT
  71.       GOTO GETPATH
  72.    END IF
  73.  
  74.    Install
  75.  
  76. QUIT:
  77.    ON ERROR GOTO ERRQUIT
  78.  
  79.    IF ERR = 0 THEN
  80.       IF DoMsgBox( "Installation is complete. Would you like to read the README file now?", "CaseLinr Setup", MB_YESNO ) = IDYES THEN
  81.          WinExec "NOTEPAD " + MakePath( DEST$, "README.TXT" ), SW_SHOW
  82.       END IF
  83.       END
  84.    ELSEIF ERR = STFQUIT THEN
  85.       dlg% = EXITQUIT
  86.    ELSE
  87.       dlg% = EXITFAILURE
  88.    END IF
  89. QUITL1:
  90.    sz$ = UIStartDlg( CUIDLL$, dlg%, "FInfo0DlgProc", 0, "" )
  91.    IF sz$ = "REACTIVATE" THEN
  92.       GOTO QUITL1
  93.    END IF
  94.    UIPop 1
  95.  
  96.    END
  97.  
  98. ERRQUIT:
  99.    i% = DoMsgBox( "Setup sources were corrupted!", "CaseLinr Setup", MB_OK + MB_ICONHAND )
  100.    END
  101.  
  102.  
  103. BADPATH:
  104.    sz$ = UIStartDlg( CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "" )
  105.    IF sz$ = "REACTIVATE" THEN
  106.       GOTO BADPATH
  107.    END IF
  108.    UIPop 1
  109.    RETURN
  110.  
  111.  
  112. ASKQUIT:
  113.    sz$ = UIStartDlg( CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "" )
  114.  
  115.    IF sz$ = "EXIT" THEN
  116.       UIPopAll
  117.       ERROR STFQUIT
  118.    ELSEIF sz$ = "REACTIVATE" THEN
  119.       GOTO ASKQUIT
  120.    ELSE
  121.       UIPop 1
  122.    END IF
  123.    RETURN
  124.  
  125.  
  126. '**
  127. '** Purpose:
  128. '**     Builds the copy list and performs all installation operations.
  129. '** Arguments:
  130. '**     none.
  131. '** Returns:
  132. '**     none.
  133. '*************************************************************************
  134. SUB Install STATIC
  135.  
  136.    SrcDir$ = GetSymbolValue( "STF_SRCDIR" )
  137.    CreateDir DEST$, cmoNone
  138.    SetRestartDir DEST$
  139.  
  140.    AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  141.    AddSectionFilesToCopyList "System", SrcDir$, GetWindowsSysDir
  142.    CopyFilesInCopyList
  143.  
  144.    CreateProgmanGroup "CaseLinr", "", cmoNone
  145.    ShowProgmanGroup  "CaseLinr", 1, cmoNone
  146.    SLEEP 1
  147.    CreateProgmanItem "CaseLinr", "CaseLinr", MakePath( DEST$, "CASELINR.EXE" ), "", cmoOverwrite
  148.    CreateProgmanItem "CaseLinr", "Read Me", "notepad "+ MakePath( DEST$, "README.TXT" ), "", cmoOverwrite
  149.    CreateProgmanItem "CaseLinr", "Registration", "notepad "+ MakePath( DEST$, "REGISTER.FRM" ), "", cmoOverwrite
  150.    CreateProgmanItem "CaseLinr", "File Format", "notepad "+ MakePath( DEST$, "CASFORMT.TXT" ), "", cmoOverwrite
  151.    SLEEP 1
  152.  
  153.    IF RestartListEmpty( ) = 0 THEN
  154.       i% = DoMsgBox( "Windows will now be exited and restarted.", "CaseLinr Setup", MB_OK + MB_ICONINFORMATION )
  155. EER:      
  156.       i% = ExitExecRestart( )
  157.       i% = DoMsgBox( "Close all MS-DOS apps and then click OK.", "CaseLinr Setup", MB_OK + MB_ICONHAND )
  158.       GOTO EER
  159.    END IF
  160. END SUB
  161.  
  162.  
  163. '**
  164. '** Purpose:
  165. '**     Appends a file name to the end of a directory path,
  166. '**     inserting a backslash character as needed.
  167. '** Arguments:
  168. '**     szDir$  - full directory path (with optional ending "\")
  169. '**     szFile$ - filename to append to directory
  170. '** Returns:
  171. '**     Resulting fully qualified path name.
  172. '*************************************************************************
  173. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  174.    IF szDir$ = "" THEN
  175.       MakePath = szFile$
  176.    ELSEIF szFile$ = "" THEN
  177.       MakePath = szDir$
  178.    ELSEIF MID$( szDir$, LEN( szDir$ ), 1 ) = "\" THEN
  179.       MakePath = szDir$ + szFile$
  180.    ELSE
  181.       MakePath = szDir$ + "\" + szFile$
  182.    END IF
  183. END FUNCTION
  184.